package com.xiangb.springbootjpa.service;

import com.xiangb.springbootjpa.common.PageVO;
import com.xiangb.springbootjpa.dao.PersonRepository;
import com.xiangb.springbootjpa.entity.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;

/**
 * @author xb
 * @descripton:
 * @date 2020/12/20
 */
public interface PersonService {

    Person findById(Integer id);
    /**
     * 事务管理测试
     * 两条数据同时成功，或者同时不成功
     * 保证数据库数据的完整性和一致性
     */
    void insertTwo();

    /**
     * 新增或更新数据
     * @param name
     * @param age
     */
    void save(String name, Integer age);

    /**
     * 分页查询列表，可能存在名字模糊查询、年龄精确查询
     * @param pageNumber
     * @param pageSize
     * @param likeName
     * @param age
     * @return
     */
    PageVO<Person> findByPage(int pageNumber, int pageSize, String likeName, Integer age);

}
